from redis import StrictRedis
import logging


class Config(object):
    """配置文件的加载"""

    SECRET_KEY = 'sadasdad'

    DEBUG = True#开启调试模式

    #配置mysql的数据库:实际开发写真实的数据库ip
    SQLALCHEMY_DATABASE_URI = 'mysql://root:mysql@127.0.0.1:3306/information_28'
    #不追踪数据的更改，有明显的性能开销
    SQLALCHEMY_TRACK_MODIFICATIONS = False

    #配置redis数据库
    REDIS_HOST = '127.0.0.1'
    REDIS_PORT = 6379

    #配置session 到数据库
    SESSION_TYPE = 'redis'
    #session 链接redis
    SESSION_REDIS = StrictRedis(host=REDIS_HOST, port=REDIS_PORT)
    #session签名
    SESSION_USE_SIGNER = True
    #设置session的过期时间
    PERMANENT_SESSION_LIFETIME = 60 * 60 * 24


class DevelopmentConfig(Config):
    '''项目开发中'''
    pass

    LEVEL_LOG = logging.DEBUG


class ProductionConfig(Config):
    '项目上线后'

    #关闭调试模式
    DEBUG = False

    #指定生产环境下的数据库
    SQLALCHEMY_DATABASE_URI = 'mysql://root:mysql@127.0.0.1:3306/information_pro_28'

    #生产环境下的日志等级
    LEVEL_LOG = logging.ERROR


class UnittestConfig(Config):
    #测试环境

    #开启测试模式
    DEBUG = True

    #指定测试数据库
    SQLALCHEMY_DATABASE_URI = 'mysql://root:mysql@127.0.0.1:3306/information_cast_28'

    #测试环境下的日志等级
    LEVEL_LOG = logging.DEBUG


configs = {
    'dev': DevelopmentConfig,
    'pro': ProductionConfig,
    'unit': UnittestConfig
}

